Title
> "Análisis Exploratorio Hoteles CDMX"
- toc:true- branch: master
- badges: true
- comments: true
- author: Daniel Rodriguez
- categories: [fastpages, jupyter]
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import seaborn as sns
import folium
import geopandas as gpd
import json
import re
%matplotlib notebook
%matplotlib inline
pd.set_option('display.max_columns', None)
conce_bren = pd.read_csv('/Users/daniel.rodriguez/Documents/HOTELES CDMX/BASES PROCESADAS/base1819_bren.csv',sep = ',', encoding = 'utf-8',header = 0, index_col =False)
conce_bren['NOMBRE_HOTEL']=conce_bren['NOMBRE_HOTEL'].str.strip()
#conce_bren['PRC_OCUP']=conce_bren['PRC_OCUP'].astype(float)
conce_bren.head()
conce_bren.info()
conce_bren.CAT_Zonas_.unique()
conce_g = conce_bren.groupby(['CAT_Zonas_','NOMBRE_HOTEL','RTCDMX']).count()
conce_g = conce_g.reset_index()
lista_zonas = ['Chapultepec-Polanco', 'Perisur-Ajusco', 'W.T.C.-San Angel-C.U.',
'Torre Mayor-Zona Rosa', 'Condesa-Roma',
'Centro Historico-Alameda', 'Norte-Basilica de Guadalupe',
'Tlalpan-Taxquena', 'Coyoacan-Xoco-Atoyac',
'Santa Fe-Desierto de los Leones', 'Aeropuerto-Foro Sol',
'Iztapalapa-Central de Abasto']
for i in lista_zonas:
print(i+" "+str(len(conce_g[conce_g['CAT_Zonas_']==i])))
conce_g.head()
url = ('/Users/daniel.rodriguez/Documents/Hoteles CDMX/SHP_ZONAS_BREN/hoteles_04092019.shp')
zona_bren = gpd.read_file(url)
zona_bren.head()
zona_bren.HABITACION.quantile([0.25, 0.5, 0.75])
fig, ax = plt.subplots(figsize = (15, 10))
ax.hist(zona_bren.HABITACION, bins = 80, alpha = 0.3,color = 'blue', ec='aqua',linewidth=2, label = 'Número de Habitaciones')
#ax.hist(pairs19.mean_travel_min19, bins = 50, alpha = 0.3,color = 'green', ec='aqua',linewidth=2, label = 2019)
ax.set_ylabel('Frecuencia',fontsize = 14)
ax.set_xlabel('Número de habitaciones', fontsize = 14)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
#plt.text(1500, 6167951.32, "Col: Parque Ind. Eco. Leon/ Pob: 0/ Ventas: $6,167,951.32", horizontalalignment='left', size='medium', color='black', weight='semibold',fontsize = 12)
#plt.text(20, 120, r'N = 23,855, mean = 2.04, std = 4.973, max = 150, min = 1', fontsize=14)
plt.title("Distribución Numero de Habitaciones", loc='left', fontsize=20, fontweight=0, color='darkred')
plt.axvline(x=38, color = 'r')
plt.text(38.1, 85,'25%')
plt.axvline(x=58, color = 'r')
plt.text(59.5, 85,'50%')
plt.axvline(x=96, color = 'r')
plt.text(96.1, 85,'75%')
ax.get_xaxis().tick_bottom()
ax.get_yaxis().tick_left()
ax.legend()
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/dist_habit.png', format = 'png', dpi = 300, bbox_inches = "tight")
zona_bren[zona_bren['HABITACION']>700]
zona_bren.CAT_Zonas_.unique()
zona_g = zona_bren.groupby(['CAT_Zonas_','NOMBRE_COM','RTCDMX1']).count().reset_index()
lista_zonas = ['Torre Mayor - Zona Rosa', 'Centro Historico - Alameda',
'Norte - Basilica de Guadalupe', 'Tlalpan - Taxqueña',
'Condesa - Zona Rosa', 'Chapultepec - Polanco',
'WTC - San Angel - CU', 'Aeropuerto - Foro Sol',
'Santa Fe - Desierto de los Leones',
'Iztapalapa - Central de Abastos', 'Perisur - Ajusco', 'Coyoacan',
'Xochimilco - Milpa Alta -Tlahuac']
for i in lista_zonas:
print(i+" "+str(len(zona_g[zona_g['CAT_Zonas_']==i])))
dif_hot = pd.read_csv('/Users/daniel.rodriguez/Documents/HOTELES CDMX/BASES PROCESADAS/hotelestotvshoteles_muestra.csv',sep = ',', encoding = 'utf-8',header = 0, index_col =False)
dif_hot.head()
dif_hot['prc_tot'] = 1-dif_hot['prc_muestra']
dif_hot['prc_muestra'] = dif_hot['prc_muestra']*100
dif_hot['prc_tot'] = dif_hot['prc_tot']*100
dif_hot
def truncate(n, decimals=0):
multiplier = 10 ** decimals
return int(n * multiplier) / multiplier
#Hacemos grafica
plt.figure(figsize=(20,15), dpi= 80)
ax1 =plt.bar(dif_hot['CAT_Zonas_'],dif_hot['prc_muestra'], alpha = 0.9, width=.9, label='PRC_MUESTRA',
color='#3182bd',bottom=dif_hot['prc_tot'])
ax2 =plt.bar(dif_hot['CAT_Zonas_'], dif_hot['prc_tot'], alpha = 0.5, width=.9, label='PRC_TOTAL',
color='#a8ddb5')
#Posicionamos las etiquetas
for r1, r2 in zip(ax1, ax2):
h1 = r1.get_height()
h2 = r2.get_height()
plt.text(r1.get_x() + r1.get_width() / 2., h2 + h1/ 2., truncate(h1,1), ha="center", va="center", color="black", fontsize=20,alpha = 1)
plt.text(r2.get_x() + r2.get_width() / 2., h2 / 2., truncate(h2,1), ha="center", va="center", color="black", fontsize=20, alpha = 1)
plt.text('Chapultepec - Polanco', 102, "28", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Perisur - Ajusco', 102, "25", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('W.T.C. - San Angel - C.U.', 102, "41", horizontalalignment='center', size='large',fontsize=20, color='#1f78b4')
plt.text('Torre Mayor - Zona Rosa', 102, "135", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Santa Fe - Desierto de los Leones', 102, "14", horizontalalignment='left', size='large', fontsize=20,color='#1f78b4')
plt.text('Condesa - Roma', 102, "33", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Centro Historico - Alameda', 102, "97", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Tlalpan - Taxquena', 102, "82", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Coyoacan-Xoco-Atoyac', 102, "4", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Aeropuerto - Foro Sol', 102, "37", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Norte - Basilica de Guadalupe', 102, "94", horizontalalignment='center', size='large',fontsize=20, color='#1f78b4')
plt.text('Iztapalapa - Central de Abastos', 102, "20", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
plt.text('Xochimilco - Milpa Alta - Tlahuac', 102, "7", horizontalalignment='center', size='large', fontsize=20,color='#1f78b4')
#Posicionamos la leyenda
plt.legend(bbox_to_anchor=(1.01,0.5), loc='center left', prop={'size':15})
plt.xticks(dif_hot['CAT_Zonas_'], fontsize = 15, rotation =90)
plt.yticks(fontsize = 15)
plt.ylabel("Porcentaje de Hoteles en la muestra", fontsize=15)
#plt.xlabel("Countries")
plt.title("%HOTELES POR ZONA TURISTICA", pad = 50,loc='left', fontsize=20, fontweight=0, color='darkred')
plt.ylim=1.0
#Quitamos las lineas
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.gca().spines['left'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
# rotate axis labels
#plt.setp(plt.gca().get_xticklabels(), rotation=90, horizontalalignment='center', fontsize = 20)
#plt.setp(plt.gca().get_yticklabels(), fontsize = 15)
#Guardamos grafico
plt.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/prc_hoteles.png', format = 'png', dpi = 300, bbox_inches = "tight")
#Mostramos grafico
plt.show()
con_g_b = conce_bren.groupby(['CAT_Zonas_','DIAS_SEM']).sum().reset_index()
con_g_b = con_g_b[['CAT_Zonas_','DIAS_SEM','CO','CD','TARIFA_PROMEDIO']]
con_g_b['PRC_OCUP']= con_g_b['CO']/con_g_b['CD']*100
con_g_b.head(15)
fin_sem = ['SABADO','DOMINGO']
sem = ['LUNES','MARTES','MIERCOLES','JUEVES','VIERNES']
aer_foro_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Aeropuerto-Foro Sol')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
aer_foro_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Aeropuerto-Foro Sol')&(con_g_b['DIAS_SEM'].isin(sem))]
cen_alameda_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Centro Historico-Alameda')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
cen_alameda_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Centro Historico-Alameda')&(con_g_b['DIAS_SEM'].isin(sem))]
chap_pol_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Chapultepec-Polanco')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
chap_pol_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Chapultepec-Polanco')&(con_g_b['DIAS_SEM'].isin(sem))]
cond_rom_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Condesa-Roma')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
cond_rom_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Condesa-Roma')&(con_g_b['DIAS_SEM'].isin(sem))]
coyo_xo_ato_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Coyoacan-Xoco-Atoyac')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
coyo_xo_ato_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Coyoacan-Xoco-Atoyac')&(con_g_b['DIAS_SEM'].isin(sem))]
izt_abasto_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Iztapalapa-Central de Abasto')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
izt_abasto_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Iztapalapa-Central de Abasto')&(con_g_b['DIAS_SEM'].isin(sem))]
nte_basi_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Norte-Basilica de Guadalupe')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
nte_basi_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Norte-Basilica de Guadalupe')&(con_g_b['DIAS_SEM'].isin(sem))]
peri_ajusco_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Perisur-Ajusco')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
peri_ajusco_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Perisur-Ajusco')&(con_g_b['DIAS_SEM'].isin(sem))]
stafe_leo_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Santa Fe-Desierto de los Leones')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
stafe_leo_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Santa Fe-Desierto de los Leones')&(con_g_b['DIAS_SEM'].isin(sem))]
tlal_tax_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Tlalpan-Taxquena')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
tlal_tax_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Tlalpan-Taxquena')&(con_g_b['DIAS_SEM'].isin(sem))]
torre_rosa_fin = con_g_b[(con_g_b['CAT_Zonas_']=='Torre Mayor-Zona Rosa')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
torre_rosa_sem = con_g_b[(con_g_b['CAT_Zonas_']=='Torre Mayor-Zona Rosa')&(con_g_b['DIAS_SEM'].isin(sem))]
wtc_angel_cu_fin = con_g_b[(con_g_b['CAT_Zonas_']=='W.T.C.-San Angel-C.U.')&(con_g_b['DIAS_SEM'].isin(fin_sem))]
wtc_angel_cu_sem = con_g_b[(con_g_b['CAT_Zonas_']=='W.T.C.-San Angel-C.U.')&(con_g_b['DIAS_SEM'].isin(sem))]
fin_semana_b = pd.concat([aer_foro_fin.reset_index(drop = True),
cen_alameda_fin.reset_index(drop = True),
chap_pol_fin.reset_index(drop = True),
cond_rom_fin.reset_index(drop = True),
coyo_xo_ato_fin.reset_index(drop = True),
izt_abasto_fin.reset_index(drop = True),
nte_basi_fin.reset_index(drop = True),
peri_ajusco_fin.reset_index(drop = True),
stafe_leo_fin.reset_index(drop = True),
tlal_tax_fin.reset_index(drop = True),
torre_rosa_fin.reset_index(drop = True),
wtc_angel_cu_fin.reset_index(drop = True)], axis = 0)
semana_b = pd.concat([aer_foro_sem.reset_index(drop = True),
cen_alameda_sem.reset_index(drop = True),
chap_pol_sem.reset_index(drop = True),
cond_rom_sem.reset_index(drop = True),
coyo_xo_ato_sem.reset_index(drop = True),
izt_abasto_sem.reset_index(drop = True),
nte_basi_sem.reset_index(drop = True),
peri_ajusco_sem.reset_index(drop = True),
stafe_leo_sem.reset_index(drop = True),
tlal_tax_sem.reset_index(drop = True),
torre_rosa_sem.reset_index(drop = True),
wtc_angel_cu_sem.reset_index(drop = True)], axis = 0)
dia_semana_b = pd.concat([fin_semana_b.reset_index(drop= True), semana_b.reset_index(drop=True)], axis = 0)
fig, ax = plt.subplots(figsize=(20, 16))
order_sem = dia_semana_b.sort_values('PRC_OCUP', ascending= False)
x = np.arange(len(order_sem.CAT_Zonas_.unique()))
bar_width = 0.13
b1 = ax.bar(x, order_sem.loc[order_sem['DIAS_SEM']=='LUNES','PRC_OCUP'], width = bar_width, label = 'LUNES')
b2 = ax.bar(x+bar_width, order_sem.loc[order_sem['DIAS_SEM']=='MARTES','PRC_OCUP'], width = bar_width,label = 'MARTES')
b3 = ax.bar(x+bar_width+bar_width, order_sem.loc[order_sem['DIAS_SEM']=='MIERCOLES','PRC_OCUP'], width = bar_width,label = 'MIERCOLES')
b4 = ax.bar(x+bar_width+bar_width+bar_width, order_sem.loc[order_sem['DIAS_SEM']=='JUEVES','PRC_OCUP'], width = bar_width,label = 'JUEVES')
b5 = ax.bar(x+bar_width+bar_width+bar_width+bar_width, order_sem.loc[order_sem['DIAS_SEM']=='VIERNES','PRC_OCUP'], width = bar_width,label = 'VIERNES')
b6 = ax.bar(x+bar_width+bar_width+bar_width+bar_width+bar_width, order_sem.loc[order_sem['DIAS_SEM']=='SABADO','PRC_OCUP'], width = bar_width,label = 'SABADO')
b7 = ax.bar(x+bar_width+bar_width+bar_width+bar_width+bar_width+bar_width, order_sem.loc[order_sem['DIAS_SEM']=='DOMINGO','PRC_OCUP'], width = bar_width,label = 'DOMINGO')
vals = ax.get_yticks()
ax.set_yticklabels(['{:,.0f}%'.format(x) for x in vals],fontsize = 13)
#plt.xticks(fontsize = 12)
ax.legend()
plt.title("Ocupación (%) por Zona Turística por día de Semana", loc='left', fontsize=20, fontweight=0, color='darkred')
# Fix the x-axes.
ax.set_xticks([p + 2.5 * bar_width for p in x])
ax.set_xticklabels(order_sem.CAT_Zonas_.unique())
ax.tick_params(axis = 'x',rotation = 90,labelsize = 18)
ax.tick_params(axis = 'y',labelsize = 18)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/ocupa_sem_bren.png', format = 'png', dpi = 300, bbox_inches = "tight")
fig, ax = plt.subplots(figsize=(20, 16))
order_fin = fin_semana_b.sort_values('PRC_OCUP', ascending= False)
x = np.arange(len(order_fin.CAT_Zonas_.unique()))
bar_width = 0.4
b1 = ax.bar(x, order_fin.loc[order_fin['DIAS_SEM']=='SABADO','PRC_OCUP'], width = bar_width, label = 'SABADO')
b2 = ax.bar(x + bar_width, order_fin.loc[order_fin['DIAS_SEM']=='DOMINGO','PRC_OCUP'], width = bar_width,label = 'DOMINGO')
ax.legend()
plt.title("Porcentaje de Ocupación Fin de Semana por Zona Turística", loc='left', fontsize=20, fontweight=0, color='darkred')
# Fix the x-axes.
ax.set_xticks(x + bar_width / 2)
ax.set_xticklabels(order_fin.CAT_Zonas_.unique())
ax.tick_params(axis = 'x',rotation = 90,labelsize = 18)
ax.tick_params(axis = 'y',labelsize = 18)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/ocupa_fin_bren.png', format = 'png', dpi = 300, bbox_inches = "tight")
conce_bren.columns
plt.style.use('default')
concentrado1 = conce_bren[conce_bren['AÑO']==2018]
table = pd.pivot_table(concentrado1, values = 'PRC_OCUP', index = ['CAT_Zonas_'], columns = ['SEMANA'])
table = table.reset_index()
#table = table[['CAT_Zonas_','ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']]
x1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]
y1 = table.iloc[0,1:54].values*100
y2 = table.iloc[1,1:54].values*100
y3 = table.iloc[2,1:54].values*100
y4 = table.iloc[3,1:54].values*100
y5 = table.iloc[4,1:54].values*100
y6 = table.iloc[5,1:54].values*100
y7 = table.iloc[6,1:54].values*100
y8 = table.iloc[7,1:54].values*100
y9 = table.iloc[8,1:54].values*100
y10 = table.iloc[9,1:54].values*100
y11 = table.iloc[10,1:54].values*100
y12 = table.iloc[11,1:54].values*100
fig, ax = plt.subplots(figsize=(15, 10))
#ax.plot(x1, y1, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[0,'CAT_Zonas_'])
#ax.plot(x1, y2, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[1,'CAT_Zonas_'])
#ax.plot(x1, y3, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[2,'CAT_Zonas_'])
#ax.plot(x1, y4, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[3,'CAT_Zonas_'])
#ax.plot(x1, y5, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[4,'CAT_Zonas_'])
#ax.plot(x1, y6, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[5,'CAT_Zonas_'])
#ax.plot(x1, y7, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[6,'CAT_Zonas_'])
#ax.plot(x1, y8, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[7,'CAT_Zonas_'])
#ax.plot(x1, y9, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[8,'CAT_Zonas_'])
#ax.plot(x1, y10, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[9,'CAT_Zonas_'])
#ax.plot(x1, y11, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[10,'CAT_Zonas_'])
ax.plot(x1, y12, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[11,'CAT_Zonas_'])
vals = ax.get_yticks()
ax.set_yticklabels(['{:,.0f}%'.format(x) for x in vals],fontsize = 13)
plt.xticks(fontsize = 12)
#plt.text('DICIEMBRE', table.loc[0,'DICIEMBRE'], " Aeropuerto-Foro Sol", horizontalalignment='left', size='large', color='#a6cee3')
#plt.text('DICIEMBRE', table.loc[1,'DICIEMBRE'], " Centro Histórico-Alameda", horizontalalignment='left', size='large', color='#1f78b4')
#plt.text('DICIEMBRE', table.loc[2,'DICIEMBRE'], " Chapultepec-Polanco", horizontalalignment='left', size='large', color='#b2df8a')
#plt.text('DICIEMBRE', table.loc[3,'DICIEMBRE'], " Condesa-Roma", horizontalalignment='left', size='large', color='#33a02c')
#plt.text('DICIEMBRE', table.loc[4,'DICIEMBRE'], " Coyoacán-Xoco-Atoyac", horizontalalignment='left', size='large', color='#fb9a99')
#plt.text('DICIEMBRE', table.loc[5,'DICIEMBRE'], " Iztapalapa-Central de Abasto5", horizontalalignment='left', size='large', color='#e31a1c')
#plt.text('DICIEMBRE', table.loc[6,'DICIEMBRE'], " Norte-Basílica de Guadalupe", horizontalalignment='left', size='large', color='#fdbf6f')
#plt.text('DICIEMBRE', table.loc[7,'DICIEMBRE'], " Perisur-Ajusco", horizontalalignment='left', size='large', color='#ff7f00')
#plt.text('DICIEMBRE', table.loc[8,'DICIEMBRE'], " Santa Fe-Desierto de los Leones", horizontalalignment='left', size='large', color='#cab2d6')
#plt.text('DICIEMBRE', table.loc[9,'DICIEMBRE'], " Tlalpan-Taxqueña", horizontalalignment='left', size='large', color='#6a3d9a')
#plt.text('DICIEMBRE', table.loc[10,'DICIEMBRE'], " Torre Mayor-Zona Rosa", horizontalalignment='left', size='large', color='#ffff99')
#plt.text('DICIEMBRE', table.loc[11,'DICIEMBRE'], " W.T.C.-San Ángel-C.U", horizontalalignment='left', size='large', color='#b15928')
plt.ylabel("Ocupación (%)",fontsize =15)
plt.xlabel("Semana del Año",fontsize =20)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
#ax.grid(axis ='both', color = 'silver', linewidth = 0.5, alpha = 0.5)
#ax.legend()
plt.title("Ocupación (%) WTC-San Ángel-CU Semanal 2018", loc='left', fontsize=20, fontweight=0, color='gray')
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/prc_ocupa_sem_wtc18.png', format = 'png', dpi = 300, bbox_inches = "tight")
plt.style.use('default')
concentrado1 = conce_bren[conce_bren['AÑO']==2019]
table = pd.pivot_table(concentrado1, values = 'PRC_OCUP', index = ['CAT_Zonas_'], columns = ['SEMANA'])
table = table.reset_index()
#table = table[['CAT_Zonas_','ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']]
x1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
y1 = table.iloc[0,1:32].values*100
y2 = table.iloc[1,1:32].values*100
y3 = table.iloc[2,1:32].values*100
y4 = table.iloc[3,1:32].values*100
y5 = table.iloc[4,1:32].values*100
y6 = table.iloc[5,1:32].values*100
y7 = table.iloc[6,1:32].values*100
y8 = table.iloc[7,1:32].values*100
y9 = table.iloc[8,1:32].values*100
y10 = table.iloc[9,1:32].values*100
y11 = table.iloc[10,1:32].values*100
y12 = table.iloc[11,1:32].values*100
fig, ax = plt.subplots(figsize=(15, 10))
#ax.plot(x1, y1, marker='.', color='#a6cee3', alpha = 1, linewidth=2, label=table.loc[0,'CAT_Zonas_'])
#ax.plot(x1, y2, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[1,'CAT_Zonas_'])
ax.plot(x1, y3, marker='.', color='#b2df8a', alpha = 1, linewidth=2, label=table.loc[2,'CAT_Zonas_'])
#ax.plot(x1, y4, marker='.', color='#33a02c', alpha = 1, linewidth=2, label=table.loc[3,'CAT_Zonas_'])
#ax.plot(x1, y5, marker='.', color='#fb9a99', alpha = 1, linewidth=2, label=table.loc[4,'CAT_Zonas_'])
#ax.plot(x1, y6, marker='.', color='#e31a1c', alpha = 1, linewidth=2, label=table.loc[5,'CAT_Zonas_'])
#ax.plot(x1, y7, marker='.', color='#fdbf6f', alpha = 1, linewidth=2, label=table.loc[6,'CAT_Zonas_'])
#ax.plot(x1, y8, marker='.', color='#ff7f00', alpha = 1, linewidth=2, label=table.loc[7,'CAT_Zonas_'])
#ax.plot(x1, y9, marker='.', color='#cab2d6', alpha = 1, linewidth=2, label=table.loc[8,'CAT_Zonas_'])
#ax.plot(x1, y10, marker='.', color='#6a3d9a', alpha = 1, linewidth=2, label=table.loc[9,'CAT_Zonas_'])
#ax.plot(x1, y11, marker='.', color='#ffff99', alpha = 1, linewidth=2, label=table.loc[10,'CAT_Zonas_'])
#ax.plot(x1, y12, marker='.', color='#b15928', alpha = 1, linewidth=2, label=table.loc[11,'CAT_Zonas_'])
vals = ax.get_yticks()
ax.set_yticklabels(['{:,.2f}'.format(x) for x in vals],fontsize = 13)
plt.xticks(fontsize = 12)
#plt.text('DICIEMBRE', table.loc[0,'DICIEMBRE'], " Aeropuerto-Foro Sol", horizontalalignment='left', size='large', color='#a6cee3')
#plt.text('DICIEMBRE', table.loc[1,'DICIEMBRE'], " Centro Histórico-Alameda", horizontalalignment='left', size='large', color='#1f78b4')
#plt.text('DICIEMBRE', table.loc[2,'DICIEMBRE'], " Chapultepec-Polanco", horizontalalignment='left', size='large', color='#b2df8a')
#plt.text('DICIEMBRE', table.loc[3,'DICIEMBRE'], " Condesa-Roma", horizontalalignment='left', size='large', color='#33a02c')
#plt.text('DICIEMBRE', table.loc[4,'DICIEMBRE'], " Coyoacán-Xoco-Atoyac", horizontalalignment='left', size='large', color='#fb9a99')
#plt.text('DICIEMBRE', table.loc[5,'DICIEMBRE'], " Iztapalapa-Central de Abasto5", horizontalalignment='left', size='large', color='#e31a1c')
#plt.text('DICIEMBRE', table.loc[6,'DICIEMBRE'], " Norte-Basílica de Guadalupe", horizontalalignment='left', size='large', color='#fdbf6f')
#plt.text('DICIEMBRE', table.loc[7,'DICIEMBRE'], " Perisur-Ajusco", horizontalalignment='left', size='large', color='#ff7f00')
#plt.text('DICIEMBRE', table.loc[8,'DICIEMBRE'], " Santa Fe-Desierto de los Leones", horizontalalignment='left', size='large', color='#cab2d6')
#plt.text('DICIEMBRE', table.loc[9,'DICIEMBRE'], " Tlalpan-Taxqueña", horizontalalignment='left', size='large', color='#6a3d9a')
#plt.text('DICIEMBRE', table.loc[10,'DICIEMBRE'], " Torre Mayor-Zona Rosa", horizontalalignment='left', size='large', color='#ffff99')
#plt.text('DICIEMBRE', table.loc[11,'DICIEMBRE'], " W.T.C.-San Ángel-C.U", horizontalalignment='left', size='large', color='#b15928')
plt.ylabel("Porcentaje de Ocupación por semana",fontsize =15)
plt.xlabel("",fontsize =20)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
#ax.grid(axis ='both', color = 'silver', linewidth = 0.5, alpha = 0.5)
ax.legend()
plt.title("Porcentaje de Ocupación Chapultepec Polanco semanal 2019", loc='left', fontsize=20, fontweight=0, color='darkred')
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/prc_ocupa_sem_bren_chapul_pol19.png', format = 'png', dpi = 300, bbox_inches = "tight")
concentrado1 = conce_bren[conce_bren['AÑO']==2018]
table = pd.pivot_table(concentrado1, values = 'PRC_OCUP', index = ['CAT_Zonas_'], columns = ['MES'])
table = table.reset_index()
table = table[['CAT_Zonas_','ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']]
x1 = ['ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']
y1 = table.loc[0,'ENERO':'DICIEMBRE'].values*100
y2 = table.loc[1,'ENERO':'DICIEMBRE'].values*100
y3 = table.loc[2,'ENERO':'DICIEMBRE'].values*100
y4 = table.loc[3,'ENERO':'DICIEMBRE'].values*100
y5 = table.loc[4,'ENERO':'DICIEMBRE'].values*100
y6 = table.loc[5,'ENERO':'DICIEMBRE'].values*100
y7 = table.loc[6,'ENERO':'DICIEMBRE'].values*100
y8 = table.loc[7,'ENERO':'DICIEMBRE'].values*100
y9 = table.loc[8,'ENERO':'DICIEMBRE'].values*100
y10 = table.loc[9,'ENERO':'DICIEMBRE'].values*100
y11 = table.loc[10,'ENERO':'DICIEMBRE'].values*100
y12 = table.loc[11,'ENERO':'DICIEMBRE'].values*100
fig, ax = plt.subplots(figsize=(15, 10))
#ax.plot(x1, y1, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[0,'CAT_Zonas_'])
#ax.plot(x1, y2, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[1,'CAT_Zonas_'])
#ax.plot(x1, y3, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[2,'CAT_Zonas_'])
#ax.plot(x1, y4, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[3,'CAT_Zonas_'])
#ax.plot(x1, y5, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[4,'CAT_Zonas_'])
#ax.plot(x1, y6, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[5,'CAT_Zonas_'])
#ax.plot(x1, y7, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[6,'CAT_Zonas_'])
#ax.plot(x1, y8, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[7,'CAT_Zonas_'])
#ax.plot(x1, y9, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[8,'CAT_Zonas_'])
#ax.plot(x1, y10, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[9,'CAT_Zonas_'])
#ax.plot(x1, y11, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[10,'CAT_Zonas_'])
ax.plot(x1, y12, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[11,'CAT_Zonas_'])
vals = ax.get_yticks()
ax.set_yticklabels(['{:,.0f}%'.format(x) for x in vals],fontsize = 13)
plt.xticks(fontsize = 12)
#plt.text('DICIEMBRE', table.loc[0,'DICIEMBRE'], " Aeropuerto-Foro Sol", horizontalalignment='left', size='large', color='#a6cee3')
#plt.text('DICIEMBRE', table.loc[1,'DICIEMBRE'], " Centro Histórico-Alameda", horizontalalignment='left', size='large', color='#1f78b4')
#plt.text('DICIEMBRE', table.loc[2,'DICIEMBRE'], " Chapultepec-Polanco", horizontalalignment='left', size='large', color='#b2df8a')
#plt.text('DICIEMBRE', table.loc[3,'DICIEMBRE'], " Condesa-Roma", horizontalalignment='left', size='large', color='#33a02c')
#plt.text('DICIEMBRE', table.loc[4,'DICIEMBRE'], " Coyoacán-Xoco-Atoyac", horizontalalignment='left', size='large', color='#fb9a99')
#plt.text('DICIEMBRE', table.loc[5,'DICIEMBRE'], " Iztapalapa-Central de Abasto5", horizontalalignment='left', size='large', color='#e31a1c')
#plt.text('DICIEMBRE', table.loc[6,'DICIEMBRE'], " Norte-Basílica de Guadalupe", horizontalalignment='left', size='large', color='#fdbf6f')
#plt.text('DICIEMBRE', table.loc[7,'DICIEMBRE'], " Perisur-Ajusco", horizontalalignment='left', size='large', color='#ff7f00')
#plt.text('DICIEMBRE', table.loc[8,'DICIEMBRE'], " Santa Fe-Desierto de los Leones", horizontalalignment='left', size='large', color='#cab2d6')
#plt.text('DICIEMBRE', table.loc[9,'DICIEMBRE'], " Tlalpan-Taxqueña", horizontalalignment='left', size='large', color='#6a3d9a')
#plt.text('DICIEMBRE', table.loc[10,'DICIEMBRE'], " Torre Mayor-Zona Rosa", horizontalalignment='left', size='large', color='#ffff99')
#plt.text('DICIEMBRE', table.loc[11,'DICIEMBRE'], " W.T.C.-San Ángel-C.U", horizontalalignment='left', size='large', color='#b15928')
plt.ylabel("Ocupación (%)",fontsize =15)
plt.xlabel("Mes del Año",fontsize =20)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
#ax.grid(axis ='both', color = 'silver', linewidth = 0.5, alpha = 0.5)
#ax.legend()
plt.title("Ocupación (%) WTC-San Ángel-CU Mensual 2018", loc='left', fontsize=20, fontweight=0, color='gray')
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/prc_ocupa_mes_wtc18.png', format = 'png', dpi = 300, bbox_inches = "tight")
concentrado1 = conce_bren[conce_bren['AÑO']==2019]
table = pd.pivot_table(concentrado1, values = 'PRC_OCUP', index = ['CAT_Zonas_'], columns = ['MES'])
table = table.reset_index()
table = table[['CAT_Zonas_','ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO']]
x1 = ['ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO']
y1 = table.loc[0,'ENERO':'AGOSTO'].values*100
y2 = table.loc[1,'ENERO':'AGOSTO'].values*100
y3 = table.loc[2,'ENERO':'AGOSTO'].values*100
y4 = table.loc[3,'ENERO':'AGOSTO'].values*100
y5 = table.loc[4,'ENERO':'AGOSTO'].values*100
y6 = table.loc[5,'ENERO':'AGOSTO'].values*100
y7 = table.loc[6,'ENERO':'AGOSTO'].values*100
y8 = table.loc[7,'ENERO':'AGOSTO'].values*100
y9 = table.loc[8,'ENERO':'AGOSTO'].values*100
y10 = table.loc[9,'ENERO':'AGOSTO'].values*100
y11 = table.loc[10,'ENERO':'AGOSTO'].values*100
y12 = table.loc[11,'ENERO':'AGOSTO'].values*100
fig, ax = plt.subplots(figsize=(15, 10))
#ax.plot(x1, y1, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[0,'CAT_Zonas_'])
#ax.plot(x1, y2, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[1,'CAT_Zonas_'])
#ax.plot(x1, y3, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[2,'CAT_Zonas_'])
#ax.plot(x1, y4, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[3,'CAT_Zonas_'])
#ax.plot(x1, y5, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[4,'CAT_Zonas_'])
#ax.plot(x1, y6, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[5,'CAT_Zonas_'])
#ax.plot(x1, y7, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[6,'CAT_Zonas_'])
#ax.plot(x1, y8, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[7,'CAT_Zonas_'])
#ax.plot(x1, y9, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[8,'CAT_Zonas_'])
#ax.plot(x1, y10, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[9,'CAT_Zonas_'])
#ax.plot(x1, y11, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[10,'CAT_Zonas_'])
ax.plot(x1, y12, marker='.', color='#1f78b4', alpha = 1, linewidth=2, label=table.loc[11,'CAT_Zonas_'])
vals = ax.get_yticks()
ax.set_yticklabels(['{:,.0f}%'.format(x) for x in vals],fontsize = 13)
plt.xticks(fontsize = 12)
#plt.text('DICIEMBRE', table.loc[0,'DICIEMBRE'], " Aeropuerto-Foro Sol", horizontalalignment='left', size='large', color='#a6cee3')
#plt.text('DICIEMBRE', table.loc[1,'DICIEMBRE'], " Centro Histórico-Alameda", horizontalalignment='left', size='large', color='#1f78b4')
#plt.text('DICIEMBRE', table.loc[2,'DICIEMBRE'], " Chapultepec-Polanco", horizontalalignment='left', size='large', color='#b2df8a')
#plt.text('DICIEMBRE', table.loc[3,'DICIEMBRE'], " Condesa-Roma", horizontalalignment='left', size='large', color='#33a02c')
#plt.text('DICIEMBRE', table.loc[4,'DICIEMBRE'], " Coyoacán-Xoco-Atoyac", horizontalalignment='left', size='large', color='#fb9a99')
#plt.text('DICIEMBRE', table.loc[5,'DICIEMBRE'], " Iztapalapa-Central de Abasto5", horizontalalignment='left', size='large', color='#e31a1c')
#plt.text('DICIEMBRE', table.loc[6,'DICIEMBRE'], " Norte-Basílica de Guadalupe", horizontalalignment='left', size='large', color='#fdbf6f')
#plt.text('DICIEMBRE', table.loc[7,'DICIEMBRE'], " Perisur-Ajusco", horizontalalignment='left', size='large', color='#ff7f00')
#plt.text('DICIEMBRE', table.loc[8,'DICIEMBRE'], " Santa Fe-Desierto de los Leones", horizontalalignment='left', size='large', color='#cab2d6')
#plt.text('DICIEMBRE', table.loc[9,'DICIEMBRE'], " Tlalpan-Taxqueña", horizontalalignment='left', size='large', color='#6a3d9a')
#plt.text('DICIEMBRE', table.loc[10,'DICIEMBRE'], " Torre Mayor-Zona Rosa", horizontalalignment='left', size='large', color='#ffff99')
#plt.text('DICIEMBRE', table.loc[11,'DICIEMBRE'], " W.T.C.-San Ángel-C.U", horizontalalignment='left', size='large', color='#b15928')
plt.ylabel("Ocupación (%)",fontsize =15)
plt.xlabel("Mes del Año",fontsize =20)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
#ax.grid(axis ='both', color = 'silver', linewidth = 0.5, alpha = 0.5)
#ax.legend()
plt.title("Ocupación (%) WTC-San Ángel-CU Mensual 2019", loc='left', fontsize=20, fontweight=0, color='gray')
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/prc_ocupa_mes_wtc19.png', format = 'png', dpi = 300, bbox_inches = "tight")
import geopandas as gpd
url = ('/Users/daniel.rodriguez/Documents/Hoteles CDMX/ZONAS_INF300/ZONAS_INFLUENCIA_300M.shp')
zona_300 = gpd.read_file(url)
zona_300.head()
zona_300.info()
zona_300.crs
import geopandas as gpd
url = ('/Users/daniel.rodriguez/Documents/Hoteles CDMX/ZONAS_TURISTICAS/ZONAS_TURISTICAS_SEP2019.shp')
zona_tur = gpd.read_file(url)
zona_tur.head()
zona_tur.crs ={'init':'epsg:32614'}
zona_tur.crs
zona12.head()
zona12 = zona_tur.to_crs({'init':'epsg:4326'})
new_hotels = pd.read_csv('/Users/daniel.rodriguez/Documents/HOTELES CDMX/BASES PROCESADAS/nuevo_hoteles.csv',sep = ',', encoding = 'utf-8',header = 0, index_col =False)
new_hotels.head()
from geopandas import GeoDataFrame
from shapely.geometry import Point
geometry = [Point(xy) for xy in zip(new_hotels['longitud'], new_hotels['latitud'])]
new1 = new_hotels.drop(['longitud', 'latitud'], axis=1)
crs = {'init': 'epsg:4326'}
gdf_new = GeoDataFrame(new1, crs = crs, geometry=geometry)
gdf_new.head()
zona12.CAT_Zonas_.unique()
zona12[zona12['CAT_Zonas_']=='']
con_new = gpd.sjoin(gdf_new,zona12, how = 'inner', op = 'intersects')
con_new
ig, ax = plt.subplots(figsize=(20,17))
zona12.plot(ax = ax, alpha = 0.3,edgecolor='black', label = 'Zonas')
gdf_new.plot(ax = ax, alpha = 0.5, color ='r', edgecolor='black', label = 'Hoteles Nuevos')
plt.title('Hoteles Nuevos', fontsize=20, fontweight=0, color='gray')
plt.legend()
plt.axis('off')
#ctx.add_basemap(ax, zoom =12,url=ctx.sources.ST_TONER_LITE)
air = pd.read_csv('/Users/daniel.rodriguez/Documents/HOTELES CDMX/AIRBNB/listings.csv',sep = ',', encoding = 'utf-8',header = 0, index_col =False)
air.head()
air_xy = air[['id','longitude','latitude']]
air_xy.columns
from geopandas import GeoDataFrame
from shapely.geometry import Point
geometry = [Point(xy) for xy in zip(air_xy['longitude'], air_xy['latitude'])]
air_xy1 = air_xy.drop(['longitude', 'latitude'], axis=1)
crs = {'init': 'epsg:4326'}
gdf = GeoDataFrame(air_xy1, crs = crs, geometry=geometry)
gdf.head()
gdf.crs
air_shp = gdf.to_crs({'init':'epsg:32614'})
air_shp.head()
import contextily as ctx
air1 = air_shp.to_crs(epsg = 3857)
zona1 = zona_300.to_crs(epsg = 3857)
fig, ax = plt.subplots(figsize=(20,17))
air1.plot(ax = ax, alpha = 0.3,edgecolor='black', label = 'Airbnb')
zona1.plot(ax = ax, alpha = 0.5, color ='r', edgecolor='black', label = 'Hoteles Muestra')
plt.title('Airbnb vs Hoteles', fontsize=20, fontweight=0, color='gray')
plt.legend()
plt.axis('off')
ctx.add_basemap(ax, zoom =12,url=ctx.sources.ST_TONER_LITE)
fig.savefig('/Users/daniel.rodriguez/Documents/HOTELES CDMX/GRAPH/mapairbnbvshoteles.png', format = 'png', dpi = 300, bbox_inches = "tight")
joined = gpd.sjoin(air_shp, zona_300, op = 'within')
joined.head()
len(joined)
fig, ax = plt.subplots(figsize=(20,17))
joined.plot(ax = ax, alpha = 0.1)
j_g = joined.groupby('CAT_Zonas_').count().reset_index()
j_g_count = j_g[['CAT_Zonas_','id']]
j_g_count = j_g_count.sort_values('id', ascending = False)
j_g_count.loc[3, 'CAT_Zonas_']='Condesa-Roma'
import random
fig, ax = plt.subplots(figsize = (15, 10))
# Plot Bars
barlist = ax.bar(j_g_count['CAT_Zonas_'], j_g_count['id'], color='teal', alpha = 0.5,width=.9)
#barlist[22].set_color('r')
#for i, val in enumerate(un_pob_cons['tas_consultorios'].values):
#plt.text(i, val-0.04, round(val, 2), horizontalalignment='center', verticalalignment='bottom', fontdict={'fontweight':500,'color':'white', 'size':10})
# Decoration
plt.gca().set_xticklabels(j_g_count['CAT_Zonas_'], rotation=90, horizontalalignment= 'center')
plt.title('Número de AirBnb por Zona Hotelera', fontsize=20)
plt.ylabel('Número de AirBnb',fontsize=15)
plt.xticks(fontsize = 15)
#plt.ylim(0, 0.7)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
plt.savefig('/Users/daniel.rodriguez/Documents/Hoteles CDMX/GRAPH/airbnb.png', format = 'png', dpi = 300,bbox_inches = "tight")
plt.show()
hotel_mx1 = pd.read_csv('/Users/daniel.rodriguez/Documents/Hoteles CDMX/hotel_matrix.csv',sep = ',', encoding = 'utf-8',header = 0, index_col =False)
hotel_mx1.head()
hotel_mx1.set_index('NOMBRE_HOTEL', inplace = True)
hotel_mx2 = hotel_mx1[['ENERO', 'FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']]
hotel_mx3 = hotel_mx2[~hotel_mx2['ENERO']<0]
hotel_mx3[0:2]
p1_hotel_mx3 = hotel_mx3[0:32]
p2_hotel_mx3 = hotel_mx3[32:65]
p3_hotel_mx3 = hotel_mx3[65:98]
hotel_mx4 = hotel_mx1[~hotel_mx1['ENERO']<0]
e = list(hotel_mx4.CAT_Zonas_)
len(e)
lista_pos1 = [0.6,1.6,2.6,3.6,4.6,5.6,6.6,7.6,8.6,9.6,10.6,11.6,12.6,13.6,14.6,15.6,16.6,
17.6,18.6,19.6,20.6,21.6,22.6,23.6,24.6,25.6,26.6,27.6,28.6,29.6,30.6,31.6]
lista_pos2 = [0.6,1.6,2.6,3.6,4.6,5.6,6.6,7.6,8.6,9.6,10.6,11.6,12.6,13.6,14.6,15.6,16.6,
17.6,18.6,19.6,20.6,21.6,22.6,23.6,24.6,25.6,26.6,27.6,28.6,29.6,30.6,31.6,
32.6]
import seaborn as sns
from matplotlib import cm
from matplotlib.colors import ListedColormap, LinearSegmentedColormap
fig = plt.figure(figsize=(5,10))
viridisBig = cm.get_cmap('viridis_r', 512)
newcmp = ListedColormap(viridisBig(np.linspace(0.25, 0.75, 256)))
ax = sns.heatmap(p1_hotel_mx3,
cmap = newcmp,
linewidths = .5,
cbar=False,
linecolor = 'black',
)
for zona, pos in zip(e[0:32],lista_pos1):
plt.text(12,pos, zona, fontsize=8)
ax.set_title("Ocupación (%) de Hoteles por arriba o por debajo del promedio", fontsize = 15,pad = 30,color = 'gray')
fig.savefig('/Users/daniel.rodriguez/Documents/Hoteles CDMX/GRAPH/matrix_mean1.png', format = 'png', dpi = 300, bbox_inches = "tight")
import seaborn as sns
fig = plt.figure(figsize=(5,10))
viridisBig = cm.get_cmap('viridis_r', 512)
newcmp = ListedColormap(viridisBig(np.linspace(0.25, 0.75, 256)))
ax = sns.heatmap(p2_hotel_mx3,
cmap = newcmp,
linewidths = .5,
cbar=False,
linecolor = 'black',
)
for zona, pos in zip(e[32:65],lista_pos2):
plt.text(12,pos, zona, fontsize=8)
ax.set_title("Ocupación (%) de Hoteles por arriba o por debajo del promedio", pad = 30, fontsize = 15,color = 'gray')
fig.savefig('/Users/daniel.rodriguez/Documents/Hoteles CDMX/GRAPH/matrix_mean2.png', format = 'png', dpi = 300, bbox_inches = "tight")
import seaborn as sns
fig = plt.figure(figsize=(5,10))
viridisBig = cm.get_cmap('viridis_r', 512)
newcmp = ListedColormap(viridisBig(np.linspace(0.25, 0.75, 256)))
ax = sns.heatmap(p3_hotel_mx3,
cmap = newcmp,
linewidths = .5,
cbar=False,
linecolor = 'black',
)
for zona, pos in zip(e[65:98],lista_pos2):
plt.text(12,pos, zona, fontsize=8)
ax.set_title("Ocupación (%) de Hoteles por arriba o por debajo del promedio", pad = 30, fontsize = 15,color = 'gray')
fig.savefig('/Users/daniel.rodriguez/Documents/Hoteles CDMX/GRAPH/matrix_mean3.png', format = 'png', dpi = 300, bbox_inches = "tight")
import seaborn as sns
fig = plt.figure(figsize=(5,20))
ax = sns.heatmap(hotel_mx2,
cmap = 'viridis_r',
linewidths = .5,
#annot = True,
#fmt = ".0f",
#annot_kws = {'size':10},
cbar=False,
linecolor = 'black',
)
for zona, pos in zip(e,lista_y_pos):
plt.text(12,pos, zona, fontsize=8)
ax.set_title("Ocupación (%) de Hoteles por arriba o por debajo del promedio", fontsize = 15,pad = 5,color = 'gray')
fig.savefig('/Users/daniel.rodriguez/Documents/Hoteles CDMX/GRAPH/matrix_meanall.png', format = 'png', dpi = 300, bbox_inches = "tight")
concentrado1 = conce_bren[conce_bren['AÑO']==2018]
concentrado1_g = concentrado1.groupby(['CAT_Zonas_']).mean().reset_index()
concentrado1_g = concentrado1_g[['CAT_Zonas_','PRC_OCUP']]
concentrado1_mensual = concentrado1.groupby(['CAT_Zonas_','MES']).mean().reset_index()
concentrado1_mensual = concentrado1_mensual[['CAT_Zonas_','MES','PRC_OCUP']]
table_zona = pd.pivot_table(concentrado1_mensual, values = 'PRC_OCUP', index = ['CAT_Zonas_'], columns = ['MES']).reset_index()
table_zona = table_zona[['CAT_Zonas_','ENERO','FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']]
concentrado1_g = concentrado1_g.merge(table_zona[['CAT_Zonas_','ENERO','FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE','NOVIEMBRE','DICIEMBRE']], how = 'left')
columnas = ['ENE','FEB','MAR','ABR','MAY','JUN','JUL','AGO','SEP','OCT','NOV','DIC']
col_ = ['ENERO','FEBRERO','MARZO','ABRIL','MAYO','JUNIO','JULIO','AGOSTO','SEPTIEMBRE',
'OCTUBRE','NOVIEMBRE','DICIEMBRE']
for c, col in zip(columnas, col_):
concentrado1_g[c] = np.where(concentrado1_g[col]>concentrado1_g['PRC_OCUP'], 1, 0)
concentrado2_g = concentrado1_g[['CAT_Zonas_','ENE','FEB','MAR','ABR','MAY','JUN','JUL','AGO','SEP','OCT','NOV','DIC']]
concentrado2_g.set_index('CAT_Zonas_', inplace = True)
concentrado2_g
import seaborn as sns
from matplotlib import cm
from matplotlib.colors import ListedColormap, LinearSegmentedColormap
fig = plt.figure(figsize=(4,4))
viridisBig = cm.get_cmap('viridis_r', 512)
newcmp = ListedColormap(viridisBig(np.linspace(0.25, 0.75, 256)))
ax = sns.heatmap(concentrado2_g,
cmap = newcmp,
linewidths = .5,
cbar=False,
linecolor = 'black',
)
#for zona, pos in zip(e[0:32],lista_pos1):
#plt.text(12,pos, zona, fontsize=8)
ax.set_title("Ocupación (%) de Zonas por arriba o por debajo del promedio", fontsize = 15,pad = 30,color = 'gray')
fig.savefig('/Users/daniel.rodriguez/Documents/Hoteles CDMX/GRAPH/matrix_mean_zone.png', format = 'png', dpi = 300, bbox_inches = "tight")